package com.internetCafes.spms.web.customer.service.msg;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.internetCafes.spms.web.customer.entity.msg.Msg;
import com.internetCafes.spms.web.customer.model.msg.MsgListDo;
import com.internetCafes.spms.web.customer.model.msg.MsgListPo;
import com.internetCafes.spms.web.customer.model.msg.MsgPagingDo;
import com.internetCafes.spms.web.customer.model.msg.MsgPagingPo;

import java.util.List;

/**
 * <p>
 * 平台消息表 服务类
 * </p>
 *
 * @author Zj
 * @since 2021-10-25
 */
public interface IMsgService extends IService<Msg> {

    /**
     * 批量保存消息通知
     *
     * @param msgList     消息内容列表
     */
    void saveBatchMsgNoSqlParser(List<Msg> msgList);

    /**
     * 批量保存消息通知
     *
     * @param msgList     消息内容列表
     */
    void saveBatchMsg(List<Msg> msgList);

    /**
     * 保存消息通知
     *
     * @param msg          消息内容
     */
    void saveMsg(Msg msg);

    /**
     * 消息分页
     *
     * @param page     分页page
     * @param pagingDo 自定义分页请求参数
     * @return 分页数据
     */
    Page<MsgPagingPo> poPaging(Page<Msg> page, MsgPagingDo pagingDo);

    /**
     * 列表
     *
     * @param listDo 列表
     * @return 消息列表
     */
    List<MsgListPo> list(MsgListDo listDo);
}
